<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <style>
        /* 填写样式 */
        a {
            color: #00bc9b;
        }
    </style>
</head>

<body>
    <!-- 填写标签 -->

    <div id="jsContainer">
        这里会给出一段随机文本，可能包含一些链接，比如https://www.baidu.com，或者
        www.baidu.com?from=onlineExam，如果出现链接文本，请给该链接文本加上链接标签，用户点击后能直接在新窗口中打开该链接。
    </div>
    <!-- 
        页面中存在id=jsContainer的DOM元素。
        该DOM元素内会给出一段随机文本，可能包含一些链接，比如https://www.baidu.com，或者 www.baidu.com?from=onlineExam，如果出现链接文本，请给该链接文本加上链接标签，用户点击后能直接在新窗口中打开该链接。
        请完成 link 函数，完成该功能
        1、container只有纯文本内容，不包含其他dom元素
        2、识别所有以http://、https://或者www.开始的链接
        3、所有www.开头的链接，默认使用 http 协议
        4、所有链接在新窗口打开
     -->
    <script type="text/javascript">
        // 填写JavaScript
        function link() {
            const elm = document.querySelector('#jsContainer');
            let reg = /(https?:\/\/)?(www\.\w+(\.(com|cn))*([?]\w+=\w*(&\w+=\w*)*)?(#\w+)?)/g
            elm.innerHTML = elm.innerHTML.replace(reg, function (...args) {
                if (args[1]) {
                    return `<a target="_blank" href="${args[1]}${args[2]}">${args[0]}</a>`;
                } else {
                    return `<a target="_blank" href="http://${args[2]}">${args[0]}</a>`;
                }
            })
        }
        /*
        function link() {
            let dom = document.getElementById("jsContainer");

            dom.innerHTML = dom.innerText.replace(/(http(s)?:\/\/|www\.)[\w\.\?\=\&#%]+/g, $1=> {
                console.log($1);
                return `<a href="${/^www/.test($1) ? 'http://'+$1 : $1}" target="_blank">${$1}</a>`
            });
        }
        */
    </script>
</body>

</html>